module.exports = {
    // 继承的规则
    extends: ["@commitlint/config-conventional"],
    // 自定义规则
    rules: {
      // @see https://commitlint.js.org/#/reference-rules
  
      // 提交类型枚举，git提交type必须是以下类型
      "type-enum": [
        2,
        "always",
        [
          "feat", // 新增功能
          "fix", // 修复缺陷
          "docs", // 文档变更
          "style", // 代码格式（不影响功能，例如空格、分号等格式修正）
          "refactor", // 代码重构（不包括 bug 修复、功能新增）
          "perf", // 性能优化
          "test", // 添加疏漏测试或已有测试改动
          "build", // 构建流程、外部依赖变更（如升级 npm 包、修改 webpack 配置等）
          "ci", // 修改 CI 配置、脚本
          "revert", // 回滚 commit
          "chore", // 对构建过程或辅助工具和库的更改（不影响源文件、测试用例）
        ],
      ],
      "subject-case": [0], // subject大小写不做校验
    },
  
    prompt: {
      messages: {
        type: "选择你要提交的类型 :",
        scope: "选择一个提交范围（可选）:",
        customScope: "请输入自定义的提交范围 :",
        subject: "填写简短精炼的变更描述 :\n",
        body: '填写更加详细的变更描述（可选）。使用 "|" 换行 :\n',
        breaking: '列举非兼容性重大的变更（可选）。使用 "|" 换行 :\n',
        footerPrefixesSelect: "选择关联issue前缀（可选）:",
        customFooterPrefix: "输入自定义issue前缀 :",
        footer: "列举关联issue (可选) 例如: #31, #I3244 :\n",
        generatingByAI: "正在通过 AI 生成你的提交简短描述...",
        generatedSelectByAI: "选择一个 AI 生成的简短描述:",
        confirmCommit: "是否提交或修改commit ?",
      },
      // prettier-ignore
      types: [
        { value: "feat",     name: "特性:     ✨  新增功能", emoji: ":sparkles:" },
        { value: "fix",      name: "修复:     🐛  修复缺陷", emoji: ":bug:" },
        { value: "docs",     name: "文档:     📝  文档变更", emoji: ":memo:" },
        { value: "style",    name: "格式:     🌈  代码格式（不影响功能，例如空格、分号等格式修正）", emoji: ":lipstick:" },
        { value: "refactor", name: "重构:     🔄  代码重构（不包括 bug 修复、功能新增）", emoji: ":recycle:" },
        { value: "perf",     name: "性能:     🚀  性能优化", emoji: ":zap:" },
        { value: "test",     name: "测试:     🧪  添加疏漏测试或已有测试改动", emoji: ":white_check_mark:"},
        { value: "build",    name: "构建:     📦️  构建流程、外部依赖变更（如升级 npm 包、修改 vite 配置等）", emoji: ":package:"},
        { value: "ci",       name: "集成:     ⚙️  修改 CI 配置、脚本",  emoji: ":ferris_wheel:"},
        { value: "revert",   name: "回退:     ↩️  回滚 commit",emoji: ":rewind:"},
        { value: "chore",    name: "其他:     🛠️  对构建过程或辅助工具和库的更改（不影响源文件、测试用例）", emoji: ":hammer:"},
      ],
      useEmoji: true,
      emojiAlign: "center",
      useAI: false,
      aiNumber: 1,
      themeColorCode: "",
      scopes: [],
      allowCustomScopes: true,
      allowEmptyScopes: true,
      customScopesAlign: "bottom",
      customScopesAlias: "custom",
      emptyScopesAlias: "empty",
      upperCaseSubject: false,
      markBreakingChangeMode: false,
      allowBreakingChanges: ["feat", "fix"],
      breaklineNumber: 100,
      breaklineChar: "|",
      skipQuestions: [],
      issuePrefixes: [
        { value: "closed", name: "closed:   ISSUES has been processed" },
      ],
      customIssuePrefixAlign: "top",
      emptyIssuePrefixAlias: "skip",
      customIssuePrefixAlias: "custom",
      allowCustomIssuePrefix: true,
      allowEmptyIssuePrefix: true,
      confirmColorize: true,
      maxHeaderLength: Infinity,
      maxSubjectLength: Infinity,
      minSubjectLength: 0,
      scopeOverrides: undefined,
      defaultBody: "",
      defaultIssues: "",
      defaultScope: "",
      defaultSubject: "",
    },
  };
  